// 1. 导入
import { defineStore } from 'pinia'
import { computed, ref } from 'vue'

// 2. 传入对象 Option Store
export const useStockStore = defineStore('stock', {
  // state 相当于之前的 ref reactive 等响应式数据 不过之后使用不用加 value
  state: () => ({
    // 只要 state 是传入函数 其他的都是传入对象
    stock: 1314
  }),
  // getters 相当于之前的 计算属性 computed
  getters: {
    // 有传入参数 state 此时 state 就是上面那个 state() 的返回值
    dblStock: (state) => state.stock * 2
  },
  actions: {
    // 有点像选项式API 获取数据的时候需要添加 this
    addStock() {
      this.stock++
    },
    subStock() {
      this.stock--
    }
  }
})